package com.ruoyi.service;

import java.util.List;
import com.ruoyi.domain.CarGasStation;

/**
 * 加油站Service接口
 * 
 * @author ruoyi
 * @date 2025-01-27
 */
public interface ICarGasStationService 
{
    /**
     * 查询加油站
     * 
     * @param gasStationId 加油站主键
     * @return 加油站
     */
    public CarGasStation selectCarGasStationById(Integer gasStationId);

    /**
     * 查询加油站列表
     * 
     * @param carGasStation 加油站
     * @return 加油站集合
     */
    public List<CarGasStation> selectCarGasStationList(CarGasStation carGasStation);

    /**
     * 根据经纬度查询附近加油站
     * 
     * @param latitude 纬度
     * @param longitude 经度
     * @param radius 搜索半径（米）
     * @return 加油站列表
     */
    public List<CarGasStation> selectNearbyGasStations(String latitude, String longitude, Integer radius);

    /**
     * 根据地址关键词搜索加油站
     * 
     * @param keyword 搜索关键词
     * @return 加油站列表
     */
    public List<CarGasStation> searchGasStationsByKeyword(String keyword);

    /**
     * 新增加油站
     * 
     * @param carGasStation 加油站
     * @return 结果
     */
    public int insertCarGasStation(CarGasStation carGasStation);

    /**
     * 修改加油站
     * 
     * @param carGasStation 加油站
     * @return 结果
     */
    public int updateCarGasStation(CarGasStation carGasStation);

    /**
     * 批量删除加油站
     * 
     * @param gasStationIds 需要删除的加油站主键集合
     * @return 结果
     */
    public int deleteCarGasStationByIds(Integer[] gasStationIds);

    /**
     * 删除加油站信息
     * 
     * @param gasStationId 加油站主键
     * @return 结果
     */
    public int deleteCarGasStationById(Integer gasStationId);

    /**
     * 获取加油站价格信息
     * 
     * @param gasStationId 加油站ID
     * @return 价格信息
     */
    public Object getGasStationPrices(Integer gasStationId);
}
